// 给一个只包含0,1的字符串，多次对其中部分区间进行翻转（包含左右端点，翻转就是指0变成1,1变成0），返回这个字符串最终的结果。
// 输入：第一行有两个数据，分别为字符串的长度以及需要翻转的区间数量n
// 第二行为01字符串
// 后面n行为n个区间范围左右端点
// 输出：翻转后的字符串

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int q = in.nextInt();
        char[] s = in.next().toCharArray();
        for(int i = 0; i < q; i++){
            int l = in.nextInt();
            int r = in.nextInt();
            //注意题目中字符串的下标从1开始，例如[1,3]就要从第一个字符开始
            for (int j = l - 1; j < r; j++) {
                if (s[j] == '0') s[j] = '1';
                else s[j] = '0';
            }
        }
        System.out.println(new String(s));
    }
}
